package com.headfirst.CreateMode.factory.abstractfactory.ingredientfactory;

import com.headfirst.CreateMode.factory.abstractfactory.chicagoingredient.SlicedPepperoni;
import com.headfirst.CreateMode.factory.abstractfactory.ingredient.*;
import com.headfirst.CreateMode.factory.abstractfactory.nyingredient.*;

/**
 * 纽约的原料工厂
 */
public class NYPizzaIngredientFactory implements PizzaIngredientFactory{
    @Override
    public Dough createDough() {
        return new ThinCrustDough();
    }

    @Override
    public Sauce createSauce() {
        return new MarinaraSauce();
    }

    @Override
    public Cheese createCheese() {
        return new ReggianoCheese();
    }

    @Override
    public Veggies[] createVeggies() {
        return new Veggies[]{new Garlic(),
                             new Onion(),
                             new Mushroom(),
                             new RedPepper()};
    }

    @Override
    public Pepperoni createPepperoni() {
        return new SlicedPepperoni();
    }

    @Override
    public Clams createClam() {
        return new FreshClams();
    }
}
